﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Microsoft.Win32;

namespace EasyTrader.Form
{
    public partial class FirstSigSetFrm : System.Windows.Forms.Form
    {
        public FirstSigSetFrm()
        {
            InitializeComponent();
            InitControl();
        }

        private void InitControl()
        {
            int selectedIndex = comboFirstMinAngle.FindString(GlobalVar.FirstMinAngle.ToString());
            comboFirstMinAngle.SelectedIndex = selectedIndex;

            selectedIndex = comboFirstMinHeight.FindString(GlobalVar.FirstMinHeight.ToString());
            comboFirstMinHeight.SelectedIndex = selectedIndex;

            selectedIndex = comboFirstMinPercent.FindString(GlobalVar.FirstMinPercent.ToString());
            comboFirstMinPercent.SelectedIndex = selectedIndex;

            selectedIndex = comboFirstWave.FindString(GlobalVar.FirstWave.ToString());
            comboFirstWave.SelectedIndex = selectedIndex;

            tbFirstHoga.Text = GlobalVar.FirstHoga.ToString();

            tbDivMinHogaDelta.Text = GlobalVar.DivMinHogaDelta.ToString();
            tbInvMinHogaDelta.Text = GlobalVar.InvMinHogaDelta.ToString();

            if (GlobalVar.FirstSignalByClose == true)
            {
                cbByClose.Checked = true;
            }
            else
            {
                cbByClose.Checked = false;
            }
        }

        private void comboFirstMinHeight_SelectedIndexChanged(object sender, EventArgs e)
        {
            string selText = comboFirstMinHeight.SelectedItem.ToString();
            if (selText == "")
                return;
            GlobalVar.FirstMinHeight = Convert.ToDouble(selText);

            string regSubkey = "Software\\EasyTrader\\FirstSignalSet";
            // 서브키를 얻어온다. 없으면 null
            RegistryKey rk = Registry.CurrentUser.OpenSubKey(regSubkey, true);
            // 없으면 서브키를 만든다.
            if (rk == null)
            {
                // 해당이름으로 서브키 생성
                rk = Registry.CurrentUser.CreateSubKey(regSubkey);
            }

            // 서브키 아래 값 쓰기
            rk.SetValue("FirstMinHeight", GlobalVar.FirstMinHeight.ToString());
        }

        private void comboFirstMinAngle_SelectedIndexChanged(object sender, EventArgs e)
        {
            string selText = comboFirstMinAngle.SelectedItem.ToString();
            if (selText == "")
                return;
            GlobalVar.FirstMinAngle = Convert.ToDouble(selText);

            string regSubkey = "Software\\EasyTrader\\FirstSignalSet";
            // 서브키를 얻어온다. 없으면 null
            RegistryKey rk = Registry.CurrentUser.OpenSubKey(regSubkey, true);
            // 없으면 서브키를 만든다.
            if (rk == null)
            {
                // 해당이름으로 서브키 생성
                rk = Registry.CurrentUser.CreateSubKey(regSubkey);
            }

            // 서브키 아래 값 쓰기
            rk.SetValue("FirstMinAngle", GlobalVar.FirstMinAngle.ToString());
        }

        private void comboFirstMinPercent_SelectedIndexChanged(object sender, EventArgs e)
        {
            string selText = comboFirstMinPercent.SelectedItem.ToString();
            if (selText == "")
                return;
            GlobalVar.FirstMinPercent = Convert.ToDouble(selText);

            string regSubkey = "Software\\EasyTrader\\FirstSignalSet";
            // 서브키를 얻어온다. 없으면 null
            RegistryKey rk = Registry.CurrentUser.OpenSubKey(regSubkey, true);
            // 없으면 서브키를 만든다.
            if (rk == null)
            {
                // 해당이름으로 서브키 생성
                rk = Registry.CurrentUser.CreateSubKey(regSubkey);
            }

            // 서브키 아래 값 쓰기
            rk.SetValue("FirstMinPercent", GlobalVar.FirstMinPercent.ToString());
        }

        private void comboFirstWave_SelectedIndexChanged(object sender, EventArgs e)
        {
            string selText = comboFirstWave.SelectedItem.ToString();
            if (selText == "")
                return;
            GlobalVar.FirstWave = Convert.ToInt32(selText);

            string regSubkey = "Software\\EasyTrader\\FirstSignalSet";
            // 서브키를 얻어온다. 없으면 null
            RegistryKey rk = Registry.CurrentUser.OpenSubKey(regSubkey, true);
            // 없으면 서브키를 만든다.
            if (rk == null)
            {
                // 해당이름으로 서브키 생성
                rk = Registry.CurrentUser.CreateSubKey(regSubkey);
            }

            // 서브키 아래 값 쓰기
            rk.SetValue("FirstWave", GlobalVar.FirstWave.ToString());
        }

        private void tbFirstHoga_TextChanged(object sender, EventArgs e)
        {
            string selText = tbFirstHoga.Text;
            if (selText == "")
                return;
            GlobalVar.FirstHoga = Convert.ToInt32(selText);

            string regSubkey = "Software\\EasyTrader\\FirstSignalSet";
            // 서브키를 얻어온다. 없으면 null
            RegistryKey rk = Registry.CurrentUser.OpenSubKey(regSubkey, true);
            // 없으면 서브키를 만든다.
            if (rk == null)
            {
                // 해당이름으로 서브키 생성
                rk = Registry.CurrentUser.CreateSubKey(regSubkey);
            }

            // 서브키 아래 값 쓰기
            rk.SetValue("FirstHoga", GlobalVar.FirstHoga.ToString());
        }

        private void tbDivMinHogaDelta_TextChanged(object sender, EventArgs e)
        {
            string selText = tbDivMinHogaDelta.Text;
            if (selText == "")
                return;
            GlobalVar.DivMinHogaDelta = Convert.ToInt32(selText);

            string regSubkey = "Software\\EasyTrader\\FirstSignalSet";
            // 서브키를 얻어온다. 없으면 null
            RegistryKey rk = Registry.CurrentUser.OpenSubKey(regSubkey, true);
            // 없으면 서브키를 만든다.
            if (rk == null)
            {
                // 해당이름으로 서브키 생성
                rk = Registry.CurrentUser.CreateSubKey(regSubkey);
            }

            // 서브키 아래 값 쓰기
            rk.SetValue("DivMinHogaDelta", GlobalVar.DivMinHogaDelta.ToString());
        }

        private void tbInvMinHogaDelta_TextChanged(object sender, EventArgs e)
        {
            string selText = tbInvMinHogaDelta.Text;
            if (selText == "")
                return;
            GlobalVar.InvMinHogaDelta = Convert.ToInt32(selText);

            string regSubkey = "Software\\EasyTrader\\FirstSignalSet";
            // 서브키를 얻어온다. 없으면 null
            RegistryKey rk = Registry.CurrentUser.OpenSubKey(regSubkey, true);
            // 없으면 서브키를 만든다.
            if (rk == null)
            {
                // 해당이름으로 서브키 생성
                rk = Registry.CurrentUser.CreateSubKey(regSubkey);
            }

            // 서브키 아래 값 쓰기
            rk.SetValue("InvMinHogaDelta", GlobalVar.InvMinHogaDelta.ToString());
        }

        private void cbByClose_CheckedChanged(object sender, EventArgs e)
        {
            string selText = "";
            if (cbByClose.Checked == true)
            {
                selText = "True";
                GlobalVar.FirstSignalByClose = true;
            }
            else
            {
                selText = "False";
                GlobalVar.FirstSignalByClose = false;
            }


            string regSubkey = "Software\\EasyTrader\\FirstSignalSet";
            // 서브키를 얻어온다. 없으면 null
            RegistryKey rk = Registry.CurrentUser.OpenSubKey(regSubkey, true);
            // 없으면 서브키를 만든다.
            if (rk == null)
            {
                // 해당이름으로 서브키 생성
                rk = Registry.CurrentUser.CreateSubKey(regSubkey);
            }

            // 서브키 아래 값 쓰기
            rk.SetValue("FirstSignalByClose", selText);
        }
    }
}
